// 按需导入extend函数
// 1.导入localize函数，用于设置提示的语言
import { extend, localize } from 'vee-validate'

// 导入全部规则，并设置别名rules
import * as rules from 'vee-validate/dist/rules'

// 2.导入需要的语言包
import zhCN from 'vee-validate/dist/locale/zh_CN.json'

// 3. 注册语言包(对象成员简易赋值 zhCN:zhCN)
localize({ zhCN })

// 4. 激活当前语言
localize('zhCN')

// rules是一个大对象，内部有各个导入的成员
// Object.keys(rules)  返回该对象全部成员名称，以数组形式返回
// ['required','length','email'...]
// extend是vee-validate固定函数，用于规则“注册”使用的
// extend(规则名称，规则内容) 注册规则
// rule:代表各个规则名称
// rules[rule]:代表具体的规则内容
// 例如：extend('required',required规则内容对象) required规则就注册好了

Object.keys(rules).forEach(rule => {
  extend(rule, rules[rule])
})

// 【增加自定义校验规则(校验整个表单)   vee-validate插件提供的校验方法】
// phone:规则名称
// value:被校验的数据
// message:校验错误的提示信息(vant组件库提供的)
extend('phone', {
  validate: value => {
    // 校验成功返回true，否则返回false
    // 定义手机正则，匹配
    const reg = /^1[35789]\d{9}$/
    return reg.test(value)
  },
  message: '{_field_}格式不正确'
})
